package com.dgut.service;

import com.dgut.pojo.OrderFlag;
import com.dgut.utils.PageRequestInfo;
import com.dgut.utils.PageResult;


public interface NoticeService {

    /**
     * start-hwf
     */

    int selectNoticeCount(int id,String state);
    PageResult getNoticePage(int id, String state, PageRequestInfo pageRequestInfo);
    boolean readNotice(int id,int userId,String state);

    /**
     * 订单状态改变通知
     * @param orderFlag 订单
     */
    void orderChangedStateNotice(OrderFlag orderFlag);

    /**
     *抢单结果通知
     * @param legalRecourseId 法律求助id
     * @param serviceProviderId 抢单成功服务商id
     */
    void resultOfOrderGrabNotice(int legalRecourseId,int serviceProviderId);

    /**
     * 抢单通知
     * @param buyerId 采买方id 接收通知
     * @param legalRecourseId 法律求助id
     * @param serviceProviderId 抢单服务商id
     */
    void orderRequestNotice(int buyerId,int legalRecourseId,int serviceProviderId);

     /**
     *订单完成通知
     * @param orderId 订单id
     * @param receiver 接收者id(订单对应的服务商/采买方)
     */
    void orderFinishedNotice(int orderId,int receiver);

    /**
     * 取消订单通知
     * @param orderId 订单id
     * @param receiver 接收者id(订单对应的服务商)
     */
    void cancelOrderRequestNotice(int orderId,int receiver);

    /**
     * 取消订单处理结果通知
     * @param orderId 订单id
     * @param receiver 接收者id(申请取消订单的采买方)
     */
    void cancelOrderResultNotice(int orderId,int receiver);

    /**
     * 指派订单通知
     * @param orderId 订单号
     * @param receiver 接收者id(被指派的服务商)
     */
    void assignOrder(int orderId,int receiver);

    /**
     * 凭证处理结果通知
     * @param receiver 接收者id(被指派的服务商)
     *  @param result 通过与否
     */
    void resultProcessVoucher(int orderId,int receiver,boolean result);
    /**
     * start-hwf
     */


}
